home *** CD-ROM | disk | FTP | other *** search
- // Array.h
-
- #ifndef Array_h
- #define Array_h
-
- #ifndef ArrayOf_h
- #include "ArrayOf.h"
- #endif
-
- template < class Element, uint32 size >
- class Array
- {
- typedef ArrayOf<Element> ArrayType;
- typedef ConstArrayOf<Element> ConstArrayType;
-
- private:
- Element elements[ size ];
-
- public:
- Element *Start() { return elements; }
- Element *End() { return elements+size; }
-
- const Element *Start() const { return elements; }
- const Element *End() const { return elements + size; }
-
- operator ArrayType() { return ArrayType( elements, size ); }
- operator ConstArrayType() const { return ConstArrayType( elements, size ); }
-
- Element& operator[]( uint32 i ) { Assert( i < size ); return elements[ i ]; }
- const Element& operator[]( uint32 i ) const { Assert( i < size ); return elements[ i ]; }
- };
-
- #endif
-